Matlab Codes

Chapter 3

Matlab code 3.6: Matlab file “Figure 3-19.m”

%--------------------------------------------------------------------

% This code can be used to generate Figure 3.19

%--------------------------------------------------------------------

clear all

close all

%% migration and broadening of range profile induced by micromotion

c = 3e8;

j = sqrt(-1);

fc = 35e9; % carrier frequency

Tp = 1e-3; % pulse duration

B = 500e6; % bandwidth

u = B/Tp; % frequency modulation rate

lambda = c/fc; % wavelength

fs = 10e6;

tk = 0:1/fs:Tp-1/fs; % fast time

nt = length(tk);

df = fs/nt; % frequency sampling interval

R0 = 5e3; % distance between the reference point and radar

R_delta = 0;

Rref = R0 - R_delta;

v = [0,-30,30,100]; % translational velocity of target

s = zeros(1,nt);

hrrp = zeros(length(v),nt);

for kj = 1:length(v)

    R = R0 - v(kj)*tk;

    td = tk - 2*R/c;

    s = exp(j*2*pi*(fc*td+0.5*u*td.^2)).*(td>=0&td<=Tp);

    td0 = tk - 2*Rref/c;

    s0 = exp(j*2*pi*(fc*td0+0.5*u*td0.^2)).*(td0>=0&td0<=Tp); % reference signal

    sd = s.*conj(s0); % dechirp

    hrrp(kj,:) = fftshift(fft(sd));

end

hrrp = abs(hrrp)./max(max(abs(hrrp)));

figure(1)

hold on

for kj = 1:length(v)

    plot(linspace(-fs/2,fs/2-df,length(interp(hrrp(kj,:),10)))*(-c/2/u),10*log10(abs(interp(hrrp(kj,:),10))))

end

figure(1)

xlabel('Range (m)')

ylabel('Normalized magnitude (dB)')

axis([-15,15,-1.5-15,0.33])

box on

hold off